﻿Public Class ucProdutoPesquisa

#Region "Eventos públicos acessados pelo formulário de cadastro"
    Public Event Incluir()
    Public Event Sair()
    Public Event Visualizar(ByVal cliente As Model.ProdutoPesquisa)
#End Region

#Region "Metodos privados do UC"
    Private Sub Pesquisa()
        Dim ctrl As New Control.Produto

        ' Fazer if para pesquias por fabricante, barra e nome
        ' ListaByNome
        ' ListaByFabricante
        ' ListaByBarra

        bsProduto.DataSource = ctrl.ListaByNome(txtNome.Text)
        dgvProduto.DataSource = bsProduto
    End Sub

    Private Sub Exclui()
        If CType(bsProduto.Current, Model.ProdutoPesquisa) IsNot Nothing Then
            Dim ctrlProduto As New Control.Produto
            If Dialog.QuestionYesNo("Deseja realmente remover este registro?") = Windows.Forms.DialogResult.Yes And Not bsProduto.Current Is Nothing Then
                If Not ctrlProduto.ExcluirPesquisa(CType(bsProduto.Current, Model.ProdutoPesquisa)) Then
                    MessageBox.Show("Não foi possivel remover pois há relacionamentos.")
                End If
            End If

            ctrlProduto = Nothing
            Pesquisa()
        End If
    End Sub

    Private Sub Visualiza()
        If CType(bsProduto.Current, Model.ProdutoPesquisa) IsNot Nothing Then
            RaiseEvent Visualizar(CType(bsProduto.Current, Model.ProdutoPesquisa))
        End If
    End Sub
#End Region

#Region "Objetos"
    Private Sub btnSair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSair.Click
        RaiseEvent Sair()
    End Sub

    Private Sub btnVisualizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVisualizar.Click
        Visualiza()
    End Sub

    Private Sub btnRemover_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemover.Click
        Exclui()
    End Sub

    Private Sub btnPesquisar_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPesquisar.Click
        Pesquisa()
    End Sub

    Private Sub btnIncluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIncluir.Click
        RaiseEvent Incluir()
    End Sub

    Private Sub dgvProduto_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dgvProduto.DoubleClick
        Visualiza()
    End Sub
#End Region

End Class
